package ltd.hanamaki.study.homework.lesson;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;

public class Demo06 {

    public static void get_day() {
        /* 创建一个键盘扫描对象 */
        Scanner scanner = new Scanner(System.in);
        /* 定义一个循环的判断条件 */
        String answer = "是";
        while (answer.equals("是")) {
            System.out.println("请输入年份：");
            int y = scanner.nextInt();
            /* 判断年份是否合法 */
            if (y <= 0 || y > (Integer.parseInt(new SimpleDateFormat("yyyy").format(new Date()))) + 100) {
                System.out.println("您输入的年份有误!(年份必须大于0),并且年份不超过当前年份之后的 100年");
                System.out.println("请重新输入正确年份！");
                /* 如果 年份出现问题 跳出循环 */
                continue;
            }

            System.out.println("请输入月份：");
            int m = scanner.nextInt();
            /* 判断月份是否正确，如果正确就继续执行 */
            /* 定义一个标志位 使用布尔值 */
            boolean flag = true;
            while (flag) {
                if (m < 1 || m > 12) {
                    System.out.println("您输入的月份有误!(月份范围为1-12)");
                    System.out.println("请重新输入月份！");
                    /* 为月份重新赋值 */
                    m = scanner.nextInt();
                    continue;
                } else {
                    flag = false;
                }
            }
            /* 定义一个 变量 ，汇总每一个月的 天数有几天 */
            int days = 0;
                switch (m) {
                    case 2:
                        days = 28;
                        if (y % 4 == 0 && y % 100 != 0 || (y % 400) == 0) {
                            days++;
                        }
                        break;
                    case 4:
                    case 6:
                    case 9:
                    case 11:
                        days = 30;
                        break;
                    default:
                        days = 31;
                }

            System.out.println(y + "年" + m + "月，一共有" + days + "天");
            System.out.println("是否要再次执行查询？（是、否）");
            answer = scanner.next();
            System.out.println("感谢使用！");

        }


    }

    public static void main(String[] args) {


        get_day();


    }
}
